package exception;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * JDK7以后,推出了一个新的特性:自动关闭特性.
 * 旨在用更精简的语法在异常处理机制中完成需要早finally中的close操作
 */
public class AutoClosealeDemo {
    public static void main(String[] args) {
            /*
                try()中定义需要在finally中会调用close的变量并初始化
                注意只有实现了AutoCloseadle接口的类才可以在这里声明变量
                并初始化
                javaIO中所有的流都实现了这个接口
                该特性是编译器认可的,编译器在编译代码后悔将代码改为
                FinallyDemo2的样子
             */
        try(
                FileOutputStream fos = new FileOutputStream("fos.dat");

        ){
            fos.write(1);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
